package br.com.pizzaria.model.dao;

import java.io.Serializable;
import java.util.List;

import org.hibernate.criterion.Criterion;

import br.com.pizzaria.hDAO.GenericDAO;
import br.com.pizzaria.model.Ingrediente;

public class IngredienteDAO implements Serializable {

	private static final long serialVersionUID = 1L;
	private GenericDAO<Ingrediente, Integer> dao;

	public void cadastrar(Ingrediente ingrediente) {
		dao = new GenericDAO<Ingrediente, Integer>(Ingrediente.class);
		dao.inclui(ingrediente);
	}

	public void alterar(Ingrediente ingrediente) {
		dao = new GenericDAO<Ingrediente, Integer>(Ingrediente.class);
		dao.altera(ingrediente);
	}

	public Ingrediente consultar(Ingrediente ingrediente) {
		dao = new GenericDAO<Ingrediente, Integer>(Ingrediente.class);
		ingrediente = (Ingrediente) dao
				.consulta(ingrediente.getIdIngrediente());
		return ingrediente;
	}

	public List<Ingrediente> listarTodos() {
		dao = new GenericDAO<Ingrediente, Integer>(Ingrediente.class);
		Criterion in[] = new Criterion[] {};
		List<Ingrediente> lista = dao.listar(in, "nome");
		return lista;
	}

	public void excluir(Ingrediente ingrediente) {
		dao = new GenericDAO<Ingrediente, Integer>(Ingrediente.class);
		dao.exclui(ingrediente);
	}

}
